package com.bl.weilan.service.biz.trade;

import com.bl.weilan.dao.model.*;
import com.bl.weilan.service.vo.DelBody;
import com.bl.weilan.service.vo.DelListBody;
import com.bl.weilan.service.vo.company.CompanyListVo;
import com.bl.weilan.service.vo.institution.InstitutionListVo;
import com.bl.weilan.service.vo.report.ReportAddVo;
import com.bl.weilan.service.vo.report.ReportListVo;
import com.bl.weilan.service.vo.report.ReportModVo;
import com.bl.weilan.service.vo.tradea.TradeAListVo;
import com.bl.weilan.service.vo.tradeb.TradeBAddVo;
import com.bl.weilan.service.vo.tradeb.TradeBCListVo;
import com.bl.weilan.service.vo.tradeb.TradeBListVo;
import com.bl.weilan.service.vo.tradec.TradeCAddVo;
import com.bl.weilan.service.vo.tradec.TradeCListVo;
import com.bl.weilan.service.vo.tradec.TradeVo;
import com.bl.weilan.service.vo.traded.TradeDAddVo;
import com.bl.weilan.service.vo.traded.TradeDListVo;
import org.springframework.data.domain.Pageable;

public interface TradeService {


    // 需要改成simpleVo, 不需要所有都返回，只需返回id,和name
    TradeCListVo getTradeCList(String tradebId, Pageable pageable);

    // 需要改成simpleVo, 不需要所有都返回，只需返回id,和name
    TradeBListVo getTradeBList(String tradeaId, Pageable pageable);

    TradeBCListVo getTradeBCList(String tradeaId);

    TradeAEntity getTradeADetail(String tradeId);

    TradeBEntity getTradeBDetail(String tradeId);

    TradeVo getTradeDetail(String tradeId);

    // 增加四级行业
    void addTradeD(TradeDAddVo tradeDAddVo);
    // 根据公司id给公司增加四级行业
    void addCompanyTradeD(String companyId, String tradedId);
    //删除四级行业
    void del(DelBody id);
//    根据三级分类的id获取四级行业列表
    TradeDListVo getTradeDList(String tradecId);
    //    根据公司id，三级分类的id获取四级行业列表
    TradeDListVo getTradeDListByTradeCAndCompanyId(String tradecId, String companyId);

    // 根据tradeid 获取该行业公司个数
    int getCompanyCountByTradeId(String tradeId, String tradeType);
    // 根据tradeid 获取行业当年融资
    float getFinancingLisByTradeIdThisYear(String tradeId, String tradeType);
    // 根据tradeid 获取行业估值
    float getAluationsLisByTradeId(String tradeId, String tradeType);

    // 增加三级行业
    void addTradeC(TradeCAddVo tradeCAddVo);
    //删除三级行业
    void delTradeC(DelBody id);
    // 增加二级行业
    void addTradeB(TradeBAddVo tradeBAddVo);
    //删除二级行业
    void delTradeB(DelBody id);

    String getTradeBId(String fullName);

    String getTradeCId(String fullName);
}
